Operating systems conventionally permit processes executing on a computer system to operate in one of two operating modes: user mode and kernel mode (also called supervisor mode or monitor mode). Kernel mode is a privileged execution mode in which processes may perform functions such as interacting with hardware that processes executing in user mode are prohibited from performing.
Processes being executed by or on behalf of a user are executed in user mode and may be restricted in their ability to carry out some functions. These restricted functions may be, for example, interacting with hardware such as writing data to a disk. Preventing user processes from executing certain operations averts problems that may occur such as a user misusing hardware (e.g., accidentally formatting a disk or overwriting critical code stored on disk) or two users attempting to use hardware simultaneously (e.g., two users trying to write to a disk at once).
Processes being executed by or on behalf of the operating system are executed in kernel mode. These processes are typically not restricted in their ability to carry out functions, and may interact with hardware or execute any other privileged instructions. User processes may therefore request that the operating system, executing in kernel mode, carry out some functions, such as writing to a disk, though the operating system may also execute operations in kernel mode independent of user mode processes (i.e., execute a function without a corresponding request from a user process).